package com.example.spring.boot.rabbitmq.listener;

import com.example.spring.boot.rabbitmq.constant.SimpleQueueConstant;
import org.springframework.amqp.rabbit.annotation.RabbitHandler;
import org.springframework.amqp.rabbit.annotation.RabbitListener;
import org.springframework.stereotype.Component;

/**
 * <p>
 * SimpleWorkQueueListener
 * </p>
 *
 * @author weixin
 * @date 2023/3/28 19:43
 */
@Component
public class SimpleWorkQueueListener {


    /**
     * @RabbitListener 和 @RabbitHandler 搭配使用
     * 可以标注在类上面，需配合 @RabbitHandler 注解一起使用
     * 标注在类上面表示当有收到消息的时候，就交给 @RabbitHandler 的方法处理，
     * 具体使用哪个方法处理，根据 MessageConverter 转换后的参数类型
     **/
    @RabbitHandler
    @RabbitListener(queues = SimpleQueueConstant.SIMPLE_WORK_QUEUE)
    public void accept(String message) {
        System.out.println("消费者One接受消息:" + message + "成功");
    }

    /**
     * @RabbitListener 和 @RabbitHandler 搭配使用
     * 可以标注在类上面，需配合 @RabbitHandler 注解一起使用
     * 标注在类上面表示当有收到消息的时候，就交给 @RabbitHandler 的方法处理，
     * 具体使用哪个方法处理，根据 MessageConverter 转换后的参数类型
     **/
    @RabbitHandler
    @RabbitListener(queues = SimpleQueueConstant.SIMPLE_WORK_QUEUE)
    public void accept1(String message) {
        System.out.println("消费者Two接受消息:" + message + "成功");
    }

}
